﻿Public Class ucPreambulo
    Private formTemp As ucPreambulo
    Public Event onClickGeraLaudos(sender As Object, e As EventArgs)
    Public Event onClickLimpaCampos(sender As Object, e As EventArgs)
    Public Event onClickCopiaDados(ByVal sender As System.Object, ByVal e As System.EventArgs)
    Public Event onClickNovoLaudo(ByVal sender As System.Object, ByVal e As System.EventArgs)
    Public Event onClickVerWord(ByVal sender As System.Object, ByVal e As System.EventArgs)

    Public Property GETFORMTEMP() As ucPreambulo
        Get
            Return formTemp
        End Get
        Private Set(ByVal value As ucPreambulo)
            formTemp = value
        End Set
    End Property

    Public Sub limpaCampos()

        For Each controle As Control In Me.Controls

            If TypeOf (controle) Is TextBox Then

                DirectCast(controle, TextBox).Text = String.Empty

            ElseIf TypeOf (controle) Is DateTimePicker Then

                DirectCast(controle, DateTimePicker).Text = Now.Date

            ElseIf TypeOf (controle) Is MaskedTextBox Then

                DirectCast(controle, MaskedTextBox).Text = String.Empty

            ElseIf TypeOf (controle) Is ComboBox Then
                DirectCast(controle, ComboBox).SelectedIndex = -1

            End If
        Next
    End Sub

    Private Sub btnLimpar_Click(sender As Object, e As EventArgs) Handles btnLimpar.Click
        RaiseEvent onClickLimpaCampos(sender, e)
        limpaCampos()
    End Sub


    Public Function validaCampos() As Boolean

        Dim ok As Boolean = False

        If txtLaudo.Text.Equals(String.Empty) Then

            erro.SetError(txtLaudo, "Campo Obrigatório")
            txtLaudo.Focus()
            Return ok
        Else
            erro.SetError(txtLaudo, String.Empty)
            If txtAno.Text.Equals(String.Empty) Then
                erro.SetError(txtAno, "Campo obrigatório")
                Return ok
                txtAno.Focus()
            Else
                erro.SetError(txtAno, String.Empty)
                If txtOficio.Text.Equals(String.Empty) Then
                    erro.SetError(txtOficio, "Campo Obrigatório")
                    Return ok
                    txtOficio.Focus()
                Else
                    erro.SetError(txtOficio, String.Empty)
                    If txtOficio.Text.Equals(String.Empty) Then
                        erro.SetError(txtOficio, "Campo obrigatório")
                        Return ok
                        txtOficio.Focus()
                    Else
                        erro.SetError(txtAno, String.Empty)
                        If txtDataOficio.Text.Equals(String.Empty) Or Not IsDate(txtDataOficio.Text) Then
                            erro.SetError(txtDataOficio, "Campo Obrigatório ou data inválida")
                            If Not IsDate(txtDataOficio.Text) Then
                                erro.SetError(txtDataOficio, "Data inválida")
                                txtDataOficio.Focus()
                                Return ok
                            End If
                            Return ok
                            txtDataOficio.Focus()
                        Else
                            erro.SetError(txtDataOficio, String.Empty)
                            If txtReferencia.Text.Equals(String.Empty) Then
                                erro.SetError(txtReferencia, "Campo Obrigatório")
                                Return ok
                                txtReferencia.Focus()
                            Else
                                erro.SetError(txtReferencia, String.Empty)
                                If txtUnidade.Text.Equals(String.Empty) Then
                                    erro.SetError(txtUnidade, "Campo Obrigatório")
                                    Return ok
                                    txtUnidade.Focus()
                                Else
                                    erro.SetError(txtUnidade, String.Empty)
                                    'If txtInvestigado.Text.Equals(String.Empty) Then
                                    '    erro.SetError(txtInvestigado, "Campo Obrigatório")
                                    '    Return ok
                                    '    txtInvestigado.Focus()
                                    'Else
                                    '    erro.SetError(txtInvestigado, String.Empty)
                                    If txtDataExame.Text.Equals(String.Empty) Or Not IsDate(txtDataExame.Text) Then
                                        erro.SetError(txtDataExame, "Campo Obrigatório ou data inválida")
                                        If Not IsDate(txtDataExame.Text) Then
                                            erro.SetError(txtDataExame, "Data inválida")
                                            txtDataExame.Focus()
                                            Return ok
                                        End If
                                        Return ok
                                        txtDataExame.Focus()
                                    Else
                                        erro.SetError(txtDataExame, String.Empty)
                                        If txtDataEnvio.Text.Equals(String.Empty) Then
                                            erro.SetError(txtDataEnvio, "Campo Obrigatório")
                                            If Not IsDate(txtDataEnvio.Text) Then
                                                erro.SetError(txtDataEnvio, "Data inválida")
                                                txtDataEnvio.Focus()
                                                Return ok
                                            End If
                                            Return ok
                                            txtDataEnvio.Focus()
                                        Else
                                            If txtDestinoLaudo.Text.Equals(String.Empty) Then
                                                erro.SetError(txtDestinoLaudo, "Campo Obrigatório")
                                                Return ok
                                                txtDestinoLaudo.Focus()
                                            Else
                                                erro.SetError(txtDestinoLaudo, String.Empty)
                                                ok = True
                                                Return ok
                                            End If
                                        End If
                                    End If
                                End If
                            End If
                        End If
                    End If
                End If
            End If
        End If
        ' End If

    End Function

    Private Sub btnGerarLaudo_Click(sender As Object, e As EventArgs) Handles btnGerarLaudo.Click
        formTemp = Me
        RaiseEvent onClickGeraLaudos(sender, e)
    End Sub


    Private Sub btnCopiar_Click(sender As Object, e As EventArgs) Handles btnCopiar.Click
        RaiseEvent onClickCopiaDados(sender, e)
    End Sub

    Private Sub txtOficio_LostFocus(sender As Object, e As EventArgs) Handles txtOficio.LostFocus
        'If txtOficio.Text.Equals(String.Empty) Then
        '    erro.SetError(txtOficio, "Campo Obrigatório")
        'Else
        '    erro.SetError(txtOficio, String.Empty)
        'End If

        If txtOficio.Text.Equals(String.Empty) Then
            txtOficio.Text = "Não informado"
        End If

    End Sub

    Private Sub txtDataOficio_LostFocus(sender As Object, e As EventArgs) Handles txtDataOficio.LostFocus
        If txtDataOficio.Text.Equals("  /  /") Then
            erro.SetError(txtDataOficio, "Campo Obrigatório")
            txtDataOficio.Focus()
        Else
            If Not IsDate(txtDataOficio.Text) Then
                erro.SetError(txtDataOficio, "Data inválida")
                txtDataOficio.Focus()
            Else
                erro.SetError(txtDataOficio, String.Empty)
            End If

        End If
    End Sub

    Private Sub txtReferencia_LostFocus(sender As Object, e As EventArgs)
        If txtReferencia.Text.Equals(String.Empty) Then
            erro.SetError(txtReferencia, "Campo Obrigatório")
        Else
            erro.SetError(txtReferencia, String.Empty)
        End If
    End Sub

    Private Sub txtUnidade_LostFocus(sender As Object, e As EventArgs) Handles txtUnidade.LostFocus
        'If txtUnidade.Text.Equals(String.Empty) Then
        '    erro.SetError(txtUnidade, "Campo Obrigatório")
        'Else
        '    erro.SetError(txtUnidade, String.Empty)
        'End If

        If txtUnidade.Text.Equals(String.Empty) Then
            txtUnidade.Text = "Não informada"
        End If

    End Sub



    Private Sub txtDataExame_LostFocus(sender As Object, e As EventArgs) Handles txtDataExame.LostFocus
        If txtDataExame.Text.Equals("  /  /") Then
            erro.SetError(txtDataExame, "Campo Obrigatório")
            txtDataExame.Focus()
        Else
            If Not IsDate(txtDataExame.Text) Then
                erro.SetError(txtDataExame, "Data inválida")
                txtDataExame.Focus()
            Else
                erro.SetError(txtDataExame, String.Empty)
            End If

        End If
    End Sub

    Private Sub txtDataEnvio_LostFocus(sender As Object, e As EventArgs) Handles txtDataEnvio.LostFocus
        If txtDataEnvio.Text.Equals("  /  /") Then
            erro.SetError(txtDataEnvio, "Campo Obrigatório")
            txtDataEnvio.Focus()
        Else
            If Not IsDate(txtDataEnvio.Text) Then
                erro.SetError(txtDataEnvio, "Data inválida")
                txtDataEnvio.Focus()
            Else
                erro.SetError(txtDataEnvio, String.Empty)
            End If

        End If
    End Sub

    Private Sub txtDestinoLaudo_LostFocus(sender As Object, e As EventArgs) Handles txtDestinoLaudo.LostFocus
        'If txtDestinoLaudo.Text.Equals(String.Empty) Then
        '    erro.SetError(txtDestinoLaudo, "Campo Obrigatório")
        'Else
        '    erro.SetError(txtDestinoLaudo, String.Empty)
        'End If

        If txtDestinoLaudo.Text.Equals(String.Empty) Then
            txtDestinoLaudo.Text = "Não informado"
        End If
    End Sub

    Private Sub txtInvestigado_LostFocus(sender As Object, e As EventArgs) Handles txtInvestigado.LostFocus
        'If txtInvestigado.Text.Equals(String.Empty) Then
        '    erro.SetError(txtInvestigado, "Campo Obrigatório")
        'Else
        '    erro.SetError(txtInvestigado, String.Empty)
        'End If

        If txtInvestigado.Text.Equals(String.Empty) Then
         
            txtInvestigado.Text = "Não informado"
        End If


    End Sub

    Private Sub txtLaudo_KeyPress(sender As Object, e As KeyPressEventArgs) Handles txtLaudo.KeyPress
        If Not (Char.IsNumber(e.KeyChar) Or Char.IsControl(e.KeyChar)) Then e.Handled = True
        If txtLaudo.Text.Length > 0 Then
            erro.SetError(txtLaudo, String.Empty)
        End If
    End Sub

    Private Sub txtLaudo_LostFocus(sender As Object, e As EventArgs) Handles txtLaudo.LostFocus
        If txtLaudo.Text.Equals(String.Empty) Then
            erro.SetError(txtLaudo, "Campo Obrigatório")
            txtLaudo.Focus()
        Else
            erro.SetError(txtLaudo, String.Empty)
        End If

    End Sub
    Private Sub txtAno_LostFocus(sender As Object, e As EventArgs) Handles txtAno.LostFocus
        If txtAno.Text.Equals(String.Empty) Then
            erro.SetError(txtAno, "Campo Obrigatório")
            txtAno.Focus()
        Else
            erro.SetError(txtAno, String.Empty)
        End If
    End Sub

    Private Sub preenche()

        txtLaudo.Text = "0001"
        txtAno.Text = "2014"
        txtOficio.Text = "12/DPCSB/2014"
        txtDataOficio.Text = "02/05/2014"
        txtReferencia.Text = "REDS 2014-0001-56987-2014589"
        txtUnidade.Text = "STRC VESPASIANO"
        txtInvestigado.Text = "ANTÔNIO DIAS DE ALBUQUERQUE"
        txtDataExame.Text = "18/09/2014"
        txtDataEnvio.Text = "18/09/2014"
        txtDestinoLaudo.Text = "3ª DRPC DE VESPASIANO"
        ucPeritos.cmbPerito.SelectedIndex = 0

    End Sub

    Public Property getDataFormatadaAssinatura() As String

        Get
            Return generica.montaData(Now.ToShortDateString)

        End Get

        Set(ByVal value As String)


        End Set

    End Property

    Private Sub ucPreambulo_Load(sender As Object, e As EventArgs) Handles Me.Load
        ' preenche()
    End Sub

    Private Sub btnNovo_Click(sender As Object, e As EventArgs) Handles btnNovo.Click
        RaiseEvent onClickNovoLaudo(sender, e)
    End Sub

    Private Sub btnVerWord_Click(sender As Object, e As EventArgs) Handles btnVerWord.Click
        RaiseEvent onClickVerWord(sender, e)
    End Sub
    Private Sub txtReferencia_LostFocus1(sender As Object, e As EventArgs) Handles txtReferencia.LostFocus
        If txtReferencia.Text.Equals(String.Empty) Then
            txtReferencia.Text = "Não informada"
        End If
    End Sub
End Class
